package com.suixun.service;

import com.suixun.entity.attendancemachine.ExtAttendanceMachine;
import com.suixun.entity.attendancemachine.LogAttendanceMachine;
import com.suixun.entity.page.PageModel;

public interface AttendanceMachineService {

	/**
	 * <p>
	 * Title: addAttendanceMachine
	 * </p>
	 * <p>
	 * 功能描述: 新增考勤机
	 * </p>
	 * 
	 * @param schoolName
	 *            学校名称
	 * @param factoryCode
	 *            生产商
	 * @param deviceCode
	 *            考勤机编号
	 * @param name
	 *            考勤机名称
	 * @return
	 */
	String addAttendanceMachine(String schoolName, String factoryCode, String deviceCode, String name);

	/**
	 * <p>
	 * Title: updateAttendanceMachine
	 * </p>
	 * <p>
	 * 功能描述: 修改考勤机
	 * </p>
	 * 
	 * @param attendanceMachineId
	 *            考勤机主键
	 * @param schoolName
	 * @param factoryCode
	 * @param deviceCode
	 * @param name
	 * @return
	 */
	String updateAttendanceMachine(Integer attendanceMachineId, String schoolName, String factoryCode,
			String deviceCode, String name, Boolean status);

	/**
	 * <p>
	 * Title: getAttendanceMachinePage
	 * </p>
	 * <p>
	 * 功能描述: 分页查询考勤机列表
	 * </p>
	 * 
	 * @param attendanceMachineId
	 * @param schoolName
	 * @param factoryCode
	 * @param deviceCode
	 * @param name
	 * @param status
	 * @return
	 */
	PageModel<ExtAttendanceMachine> getAttendanceMachinePage(String schoolName, String factoryCode, String deviceCode,
			Integer pageNumber, Integer pageCount);
	/**
	 * <p>Title: getLogAttendanceMachinePage</p>
	 * <p> 功能描述: 分页查询考勤机记录</p>
	 * @param attendanceMachineId
	 * @param sortStatus 排序：0降序，1升序
	 * @param sortParam 按参数排序：0上报时间，1上报状态
	 * @param pageNumber
	 * @param pageCount
	 * @return
	 */
	PageModel<LogAttendanceMachine> getLogAttendanceMachinePage(Integer attendanceMachineId, int sortStatus, int sortParam,
			Integer pageNumber, Integer pageCount);
}
